package com.wanxi.fileandio.io;

import java.io.*;

public class InputSteamReader {
    public static void main(String[] args) throws IOException {
        File file = new File("E:\\test\\aa.txt");
        FileInputStream fileInputStream = new FileInputStream(file);

        InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);



        char[] cBuffer = new char[1024];
        int len;

        while ((len=inputStreamReader.read(cBuffer))!=-1){
            for (int i = 0; i < len; i++) {
                System.out.print(cBuffer[i]);
//                String s = new String(cBuffer,0,len);
//                System.out.print(s);
            }
        }






//        InputStreamReader isr = null;
//        OutputStreamWriter osw = null;
//        try {
//            // 1.定义文件路径
//            String srcFile = "file_gbk.txt";
//            String destFile = "file_utf8.txt";
//            // 2.创建流对象
//            // 2.1 转换输入流,指定GBK编码
//            isr = new InputStreamReader(new FileInputStream(srcFile), "GBK");
//            // 2.2 转换输出流,默认utf8编码
//            osw = new OutputStreamWriter(new FileOutputStream(destFile));
//            // 3.读写数据
//            // 3.1 定义数组
//            char[] cbuf = new char[1024];
//            // 3.2 定义长度
//            int len;
//            // 3.3 循环读取
//            while ((len = isr.read(cbuf)) != -1) {
//                // 循环写出
//                osw.write(cbuf, 0, len);
//            }
//        } catch (IOException e) {
//            e.printStackTrace();
//        } finally {
//            // 4.释放资源
//            if (osw != null) {
//                try {
//                    osw.close();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//            if (isr != null) {
//                try {
//                    isr.close();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//        }
    }
}
